### UP
[mkstemp](##mkstemp)
[MAIN](##MAIN)
[MAIN_ru](##MAIN_ru)
[ANCORS](##ANCORS)
[ISU](##ISU)
[inet](##A_inet)
[inet](##books_inet)
[inet](##examples_inet)
[inet](##classic_inet)
[inet](##enters_inet)
[inet](##issue_code_inet)
[H_FILE](##H_FILE)
[p_SYNOPSIS](##p_SYNOPSIS)
[p_RETURN](##p_RETURN)
[p_RETURN_ru](##p_RETURN_ru)
[p_BUGS](##p_BUGS)
[p_DESCRIPTION_ru](##p_DESCRIPTION_ru)
[p_DESCRIPTION](##p_DESCRIPTION)
[p_MIRRORS](##p_MIRRORS)
[p_EXAMPLES](##p_EXAMPLES)
[p_CODE_h](##p_CODE_h)
[p_CODE_c](##p_CODE_c)
[p_CODE_m](##p_CODE_m)
[p_ERRORS](##p_ERRORS)
[p_BOOKS](##p_BOOKS)
[p_BOOKS_ru](##p_BOOKS_ru)
[p_CONTENT](##p_CONTENT)

[cat_hfiles](../../cat_hfiles.md)
[cat_utils](../../cat_utils.md)
[cat_structs](../../cat_structs.md)
[cat_param](../../cat_params.md)
[cat_macros](../../cat_macross.md)
[cat_const](../../cat_consts.md)
[cat_type](../../cat_types.md)
[cat_any](../cat_anys.md)


[UP](###UP)
## MAIN
:mkstemp:
[next](##MAIN_ru)

<<MAIN>>
[MAIN](../../fills/mkstemp/MAIN)



[UP](###UP)
## MAIN_ru
:mkstemp:
[next](##ANCORS)

<<MAIN_ru>>
[MAIN_ru](../../fills/mkstemp/MAIN_ru)

[UP](###UP)
## ANCORS
:mkstemp:
[next](##ISU)

<<ANCORS>>
[ANCORS](../../fills/mkstemp/ANCORS)

[UP](###UP)
## ISU
:mkstemp:
[next](##H_FILE)

<<ISU>>
only read
:mkstemp:
[ISU](../../contents)
[next](##inet)


[UP](###UP)
## inet
:mkstemp:
[next](##H_FILE)


[UP](###UP)
## A_inet
[manpages.org](https://www.google.ru/search?q=mkstemp+site%3Ahttps%3A%2F%2Fmanpages.org)
[reposcope.com_ru](https://www.google.ru/search?q=mkstemp+site%3Ahttps%3A%2F%2Freposcope.com%2Fmanpages%2Fru)
[pubs.opengroup.org](https://www.google.com/search?q=mkstemp+https%3A%2F%2Fpubs.opengroup.org)
[manpages.debian.org](https://yandex.ru/search/?text=mkstemp+site%3Ahttps%3A%2F%2Fmanpages.debian.org%2F)
[www.opennet.ru](http://www.opennet.ru/man.shtml?category=2&topic=mkstemp)
[man7.org](https://www.google.ru/search?q=mkstemp+site%3Ahttps%3A%2F%2Fman7.org%2Flinux%2Fman-pages)
[en.cppreference.com](https://www.google.com/search?q=mkstemp+en.cppreference.com)
[www.mankier.com](https://www.mankier.com/?q=mkstemp)
[www.codecogs.com](https://www.google.ru/search?q=mkstemp+https%3A%2F%2Fwww.codecogs.com%2Flibrary%2Fcomputing%2F)
[digitalmars.com](https://www.google.ru/search?q=mkstemp+https%3A%2F%2Fdigitalmars.com%2Frtl%2F)


[UP](###UP)
## books_inet
[cpp.com.ru](https://yandex.ru/search/?text=mkstemp+site%3Ahttps%3A%2F%2Fcpp.com.ru)
[linuxhint.com](https://www.google.ru/search?q=mkstemp+site%3Ahttps%3A%2F%2Flinuxhint.com)
[gnu.org](https://www.google.ru/search?q=mkstemp+site%3Ahttps%3A%2F%2Fwww.gnu.org%2Fsoftware%2Flibc%2Fmanual)

[UP](###UP)
## examples_inet
[yandex:examples](https://yandex.ru/search/?text=mkstemp+example+in+c)
[docs.oracle.com](https://www.google.com/search?q=mkstemp+https%3A%2F%2Fdocs.oracle.com)
[manpages.debian.org](https://yandex.ru/search/?text=mkstemp+site%3Ahttps%3A%2F%2Fmanpages.debian.org%2F)
[osr507doc.xinuos.com](https://www.google.com/search?q=mkstemp+http%3A%2F%2Fosr507doc.xinuos.com%2Fen%2Fman)
[cpp.hotexamples.com](https://cpp.hotexamples.com/examples/-/-/mkstemp/cpp-mkstemp-function-examples.html)
[all-ht.ru](https://yandex.ru/search/?text=mkstemp+site%3Ahttp%3A%2F%2Fall-ht.ru%2Finf%2Fprog%2Fc%2F)
[cppreference.com](https://yandex.ru/search/?text=mkstemp+site%3Ahttps%3A%2F%2Fen.cppreference.com%2Fw%2Fc%2F)

[UP](###UP)
## classic_inet
[bogatyrev_c_unix](https://www.google.com/search?q=mkstemp+site%3Ahttps%3A%2F%2Fcpp.com.ru%2Fbogatyrev_c_unix)
[kr_cbook](https://www.google.com/search?q=mkstemp+site%3Ahttps%3A%2F%2Fcpp.com.ru%2Fkr_cbook)

[UP](###UP)
## enters_inet
[pubs.opengroup.org](https://pubs.opengroup.org/onlinepubs/9699919799/idx/head.html)

[UP](###UP)
## issue_code_inet
[code.woboq.org](https://www.google.com/search?h=&sitesearch=https%3A%2F%2Fcode.woboq.org%2Fuserspace%2Fglibc%2F&q=mkstemp)


[UP](###UP)
## H_FILE 
[stdlib_h.md](../../hfiles/stdlib_h.md)


[UP](###UP)
## p_SYNOPSIS
:mkstemp:
[next](##p_RETURN_ru)

----------------------------------------------------- 
-------------------------------------- 
#include <stdlib.h>
int mkstemp(char *template);
int mkostemp(char *template, int flags);
int mkstemps(char *template, int suffixlen);
int mkostemps(char *template, int suffixlen, int flags);
-------------------------------------- 
----------------------------------------------------- 
<<SYNOPSIS>>
[SYNOPSIS](../../fills/mkstemp/SYNOPSIS)


[UP](###UP)
## p_RETURN_ru
:mkstemp:
[next](##p_RETURN)

<<RETURN>>
[RETURN_ru](../../fills/mkstemp/RETURN)


[UP](###UP)
## p_RETURN
:mkstemp:
[next](##p_DESCRIPTION_ru)

----------------------------------------------------- 
-------------------------------------- 
При успешном выполнении данные функции возвращают дескриптор временного файла. В случае ошибки возвращается -1, а errno устанавливается в соответствующее значение.
-------------------------------------- 
----------------------------------------------------- 
<<RETURN_ru>>
[RETURN](../../fills/mkstemp/RETURN_ru)


[UP](###UP)
## p_DESCRIPTION_ru
:mkstemp:
[next](##p_DESCRIPTION)

----------------------------------------------------- 
-------------------------------------- 
Функция mktemp() генерирует на основе шаблона template уникальное имя для временного файла, создаёт и открывает файл, после чего возвращает дескриптор открытого файла.
Последние шесть символов template должны быть равны "XXXXXX", они будут заменены на строку, которая сделает имя файла уникальным. Так как template будет меняться, он должна быть объявлен не строковой константой, а массивом символов.
Файл создается с правами 0600, то есть читать и записывать в него может только владелец. Возвращаемый дескриптор файла предоставляет доступ к файлу как на чтение, так и на запись. Файл открывается с помощью open(2) с флагом O_EXCL, что гарантирует, что вызывающий является процессом, создавшим файл.
Функция mkostemp() подобна mkstemp(), но отличие в том, что следующие биты (с теми же значениями что и для open(2)) могут быть указаны в flags: O_APPEND, O_CLOEXEC и O_SYNC. Заметим, что при создании файла mkostemp() включает значения O_RDWR, O_CREAT и O_EXCL в аргумент flags при вызове open(2); добавлять эти значения в аргумент flags при вызове mkostemp() необязательно и это приводит к ошибках в некоторых системах.
Функция mkstemps() похожа на mkstemp(), за исключением строки в template, которая содержит символы суффикса suffixlen. Таким образом, template будет приобретать вид prefixXXXXXXsuffix, а строка XXXXXX будет меняться так же, как и для mkstemp().
Функция mkostemps() является аналогом mkstemps(), подобно как mkostemp() является аналогом mkstemp().
-------------------------------------- 
----------------------------------------------------- 
<<DESCRIPTION_ru>>
[DESCRIPTION_ru](../../fills/mkstemp/DESCRIPTION_ru)


[UP](###UP)
## p_DESCRIPTION
:mkstemp:
[next](##p_BUGS)

<<DESCRIPTION>>
[DESCRIPTION](../../fills/mkstemp/DESCRIPTION)


[UP](###UP)
## p_MIRRORS
:mkstemp:
[next](##p_BUGS)

<<MIRRORS>>
[MIRRORS](../../fills/mkstemp/MIRRORS)


[UP](###UP)
## p_BUGS
:mkstemp:
[next](##p_EXAMPLES)

<<BUGS>>
[BUGS](../../fills/mkstemp/BUGS)


[UP](###UP)
## p_EXAMPLES
:mkstemp:
[next](##p_CODE)

<<EXAMPLES>>
[EXAMPLES](../../fills/mkstemp/EXAMPLES)


[UP](###UP)
## p_CODE_h
:mkstemp:
[next](##p_CODE_c)

<<CODE_h>>
[CODE_h](../../fills/mkstemp/CODE_h)


[UP](###UP)
## p_CODE_c
:mkstemp:
[next](##p_CODE_m)

<<CODE_c>>
[CODE_c](../../fills/mkstemp/CODE_c)


[UP](###UP)
## p_CODE_m
:mkstemp:
[next](##p_ERRORS)

<<CODE_m>>
[CODE_m](../../fills/mkstemp/CODE_m)


[UP](###UP)
## p_ERRORS
:mkstemp:
[next](##p_BOOKS)

<<ERRORS>>
[ERRORS](../../fills/mkstemp/ERRORS)


[UP](###UP)
## p_BOOKS
:mkstemp:
[next](##p_BOOKS_ru)

<<BOOKS>>
[BOOKS](../../fills/mkstemp/BOOKS)


[UP](###UP)
## p_BOOKS_ru
:mkstemp:
[next](##p_CONTENT)


<<BOOKS_ru>>
[BOOKS_ru](../../fills/mkstemp/BOOKS_ru)


[UP](###UP)
## p_CONTENT
:33333:
[33333.cnt](../../contents/33333.cnt)
[next](##UP)

[UP](###UP)